#pragma once
#include <mysql/mysql.h>
#include "my_header.h"

typedef enum{
    STATUS_LOGOFF =0,
    STATUS_LOGIN
}LoginStatus;

typedef struct userInfo_s{
    int _sockfd;
    LoginStatus _status;
    char _name[32];
    char _salt[32];
    char _encrypted[256];
    char _pwd[256];
}userInfo_t;

int _row_to_userInfo(MYSQL_ROW row, userInfo_t *user);

// 查找用户
int _find_user(MYSQL *mysql, const char *clientUsername, userInfo_t *user);

// 打印user(test only)
int _print_user(userInfo_t* user);

// // ==========================用户注册==========================
// // 2. 根据用户名返回盐值
// // 若用户不存在，将盐值存入salt，return true
// // 若用户存在， 将NULL存入salt, return false
// bool _get_salt(const char* username, char* salt);

// // 4. 保存密文，向客户端发送注册成功的code
// // 根据密文生成注册成功的code
// bool _get_register_code(const char* encrytpCode, char* successCode);

// // ==========================用户登录==========================
// // 2. 根据用户名返回盐值

// // 4. 从UserInfo中获取密文，与客户端传递来的进行对比
// // 相同返回OKCODE 不同返回ERRORCODE
// bool _get_log_code(MYSQL * mysql, const char* encrytpCode, char* successCode);


